home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / diskmags / 0022-3.564 / dmg-3323 / protocol.gem / 68000 / tubefind.s < prev   
Text File  |  1987-04-21  |  2KB  |  47 lines

  1. ***************************************************************
  2. *              EXTRAIT DE LA BIBLIOTHEQUE TUBE GEM            *
  3. *                    FICHIER "TUBEFIND.S"                     *
  4. *                  VERSION 5.01  (07 Mai 1991)                *
  5. ***************************************************************
  6. * Routine appelée à chaque fois que l'on désire envoyer quelque chose.
  7. * Cette routine renvoi en A0 l'adresse du tableau contenant la liste des 
  8. * APP_ID des applications actives en mémoire. Si au retour A0=0 c'est que
  9. * cette liste n'est pas accessible.
  10. FIND_APID:      MOVEM.L D0-D7/A1-A6,-(SP)
  11.         MOVE.L  #"_TUB",COOKIE1 identificateur à chercher
  12.         MOVE.L  #0,COOKIE2              trop tard pour créer new-box
  13.         MOVE.L  #0,COOKIE3              je veux juste lire le cookie
  14.         MOVE.W  #0,COOKIE4              et ne rien écraser      
  15.         MOVE.L  #COOKIE_JAR,-(SP)
  16.         MOVE.W  #38,-(SP)               
  17.         TRAP    #14             
  18.         ADDQ.L  #6,SP           
  19. * COOKIE2 contient l'adresse de la boite ou 0 si pas trouvée
  20.         TST.L   COOKIE2
  21.         BEQ     .ICI
  22. * En retour l'adresse correspond à mon COOKIE, et donnant donc
  23. * l'adresse du tableau PROT, est en COOKIE3
  24.         TST.L   COOKIE3 nous avons trouvé ce tableau ?
  25.         BNE.S   FIND_APID_1   oui --> vérification
  26. * Nous n'avons pas trouvé le tableau, alerte et bye bye...
  27. .ICI    FORM_ALERT      #1,#ALERTE_TUB3
  28.         MOVE.L  #0,A0          valeur de retour
  29.         BRA     END_FINDAPID
  30. * Nous avons trouvé le tableau. Vérifions son en-tête.
  31. FIND_APID_1
  32.         MOVE.L  COOKIE3,A0
  33.         CMP.L   #"PROT",(A0)
  34.         BEQ     OK_FINDAPID
  35. * C'est raté, il n'y a rien de correct...
  36. ERREUR_APID
  37.         FORM_ALERT      #1,#ALERTE_TUB1
  38.         MOVE.L  #0,A0          valeur de retour
  39.         BRA     END_FINDAPID
  40. OK_FINDAPID
  41.         MOVE.L  COOKIE3,A0      valeur de retour
  42. END_FINDAPID
  43.         MOVEM.L (SP)+,D0-D7/A1-A6
  44.         RTS
  45. *--------------------------------------------------------------------------*
  46.  
  47.